package com.yfp.operation.mapper;

import com.yfp.operation.domain.ActivitySignIns;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfp.operation.domain.dto.ActivitySignInsSearchReqDTO;
import com.yfp.operation.domain.dto.MarketingDTO;
import com.yfp.operation.domain.dto.MarketingNoActivityDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 * @description 针对表【activity_sign_ins(打卡管理主表)】的数据库操作Mapper
 * @createDate 2025-01-02 10:22:14
 * @Entity domain.com.yfp.operation.ActivitySignIns
 */
public interface ActivitySignInsMapper extends BaseMapper<ActivitySignIns> {

    /**
     * 根据城市名称和状态查询打卡活动
     *
     * @param cityName
     * @param statusList
     * @return
     */
    List<ActivitySignIns> selectByCityNameAndStatus(@Param("cityName") String cityName, @Param("statusList") List<Integer> statusList);

    /**
     * 查询打卡活动
     *
     * @param searchReqDTO
     * @return
     */
    List<ActivitySignIns> searchList(ActivitySignInsSearchReqDTO searchReqDTO);

    /**
     * 失效打卡活动
     *
     * @param id
     * @param status
     */
    void updateStatusById(@Param("id") Long id, @Param("status") Integer status);

    /**
     * 获取正在进行的打卡活动
     *
     * @param status
     * @param cityName
     * @return
     */
    ActivitySignIns getByStatus(@Param("status") Integer status, @Param("cityName") String cityName);

    /**
     * 获取正在进行的打卡活动
     *
     * @param status
     * @return
     */
    List<ActivitySignIns> selectByStatus(@Param("status") Integer status);

    /**
     * banner关联活动列表
     * @param activityDTO
     * @return
     */
    List<MarketingDTO> activityList(MarketingNoActivityDTO activityDTO);

    /**
     * 新增
     * @param activitySignIns
     */
    void add(ActivitySignIns activitySignIns);

}




